package immutablecollections.functions;

/**
 * A function that takes three arguments and returns a value of type O
 */
public interface Function3<O>
{
    /**
     * Supply the argument `arg` to `this`, returning a two-argument function.
     */
    Function2<O> invoke(Object arg);
}
